package com.learn.boot.config;

import com.learn.boot.interceptor.LoginInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
 * 关于登录拦截的配置
 * @author:         MI
 * @email:          448341911@qq.com
 * @createDate:     2023/11/12 17:14
 * @updateUser:     MI
 * @updateDate:     2023/11/12 17:14
 * @updateRemark:   修改内容
 * @version:        v1.0
 */
@Configuration
public class LoginConfiguration implements WebMvcConfigurer {

    /**
     *  这个方法用来注册拦截器，我们自己写好的拦截器需要通过这里添加注册才能生效
     *    //.addPathPatterns("/**")，设置拦截的范围，/**代表全部
     *     // .excludePathPatterns是设置白名单，这里本项目中的首页、登录注册、商品的浏览和查找是不需要判断是否已登录的
     * @param registry
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns("/login")
                .excludePathPatterns("logout")
                .excludePathPatterns("/js/**")
                .excludePathPatterns("/css/**")
                .excludePathPatterns("/img/**");
    }
}
